package com.lg.happyfarmer.base;

import com.hemaapp.HemaConfig;
import com.hemaapp.hm_FrameWork.HemaHttpInfomation;
import com.lg.happyfarmer.bean.SysInitInfo;

/**
 * 网络请求信息枚举类
 */
public enum BaseHttpInformation implements HemaHttpInfomation {
    // 注意登录接口id必须为HemaConfig.ID_LOGIN
    /**
     * 后台服务接口根路径
     */
    SYS_ROOT(0, BaseConfig.SYS_ROOT, "后台服务接口根路径", true),
    /**
     * 系统初始化
     */
    INIT(1, "index.php/webservice/index/init", "系统初始化", false),
    /**
     * 申请随机验证码
     */
    CODE_GET(2, "code_get", "申请随机验证码", false),
    /**
     * 验证随机码
     */
    CODE_VERIFY(3, "code_verify", "验证随机码", false),
    /**
     * 登录
     */
    CLIENT_LOGIN(HemaConfig.ID_LOGIN, "client_login", "登录", false),
    /**
     * 退出登录
     */
    CLIENT_LOGINOUT(4, "client_loginout", "退出登录", false),
    /**
     * 用户注册
     */
    CLIENT_ADD(5, "client_add", "用户注册", false),
    /**
     * 保存用户资料
     */
    CLIENT_SAVE(6, "client_save", "保存用户资料", false),
    /**
     * 用户详情
     */
    CLIENT_GET(7, "client_get", "用户详情", false),
    /**
     * 用户列表
     */
    CLIENT_LIST(8, "client_list", "用户列表", false),
    /**
     * 修改并保存密码
     */
    PASSWORD_SAVE(9, "password_save", "修改并保存密码", false),
    /**
     * 验证用户名是否合法
     */
    CLIENT_VERIFY(10, "client_verify", "验证用户名是否合法", false),
    /**
     * 重设密码
     */
    PASSWORD_RESET(11, "password_reset", "重设密码", false),
    /**
     * 田家认证
     */
    AUTH_SAVE(12, "auth_save", "田家认证", false),
    /**
     * 上传文件（图片，音频，视频）
     */
    FILE_UPLOAD(13, "file_upload", "上传文件（图片，音频，视频）", false),
    /**
     * 获取用户通知列表
     */
    NOTICE_LIST(14, "notice_list", "获取用户通知列表", false),
    /**
     * 保存用户通知操作
     */
    NOTICE_SAVEOPERATE(15, "notice_saveoperate", "保存用户通知操作", false),
    /**
     * 获取图片列表
     */
    IMG_LIST(16, "img_list", "获取相册列表信息", false),
    /**
     * 获取地区（城市）列表信息
     */
    DISTRICT_LIST(17, "district_list", "获取地区（城市）列表信息", false),
    /**
     * 所有地区列表
     */
    DISTRICT_ALL_GET(17, "district_all_get", "所有地区列表", false),
    /**
     * 首页广告位列表
     */
    INDEXAD_LIST(18, "indexad_list", "首页广告位列表", false),
    /**
     * 热门区域列表
     */
    HOTDISTRICT_LIST(19, "hotdistrict_list", "热门区域列表", false),
    /**
     * 评论添加
     */
    REPLY_ADD(20, "reply_add", "评论添加", false),
    /**
     * 评论列表
     */
    REPLY_LIST(21, "reply_list", "评论列表", false),
    /**
     * 收藏删除
     */
    LOVE_REMOVE(22, "love_remove", "收藏删除", false),
    /**
     * 帖子添加
     */
    BLOG_ADD(23, "blog_add", "帖子添加", false),
    /**
     * 帖子列表
     */
    BLOG_LIST(24, "blog_list", "帖子列表", false),
    /**
     * 帖子详情
     */
    BLOG_GET(25, "blog_get", "帖子详情", false),
    /**
     * 帖子操作
     */
    BLOG_SAVEOPERATE(26, "blog_saveoperate", "帖子操作", false),
    /**
     * 关注收藏列表
     */
    FOLLOW_COLLECT_LIST(27, "follow_collect_list", "关注收藏列表", false),
    /**
     * 关注收藏操作
     */
    FOLLOW_COLLECT_SAVEOPERATE(28, "follow_collect_operator", "关注收藏操作", false),
    /**
     * 发布土地
     */
    LAND_ADD(29, "land_add", "发布土地", false),
    /**
     * 土地作物列表
     */
    LAND_GOODS_LIST(30, "land_goods_list", "土地作物列表", false),
    /**
     * 土地亩数保存
     */
    LAND_MU_SAVE(30, "land_mu_save", "土地亩数保存", false),
    /**
     * 土地作物保存
     */
    LAND_GOODS_SAVE(30, "land_goods_save", "土地作物保存", false),
    /**
     * 土地作物删除
     */
    LAND_GOODS_DEL(30, "land_goods_del", "土地作物删除", false),
    /**
     * 土地作物详情(用于定制详情)
     */
    LAND_GOODS_GET(31, "land_goods_get", "土地作物详情(用于定制详情)", false),
    /**
     * 添加购物车
     */
    CART_ADD(32, "cart_add", " 添加购物车 ", false),
    /**
     * 购物车列表
     */
    CART_LIST(33, "cart_list", " 购物车列表 ", false),
    /**
     * 购物车操作
     */
    CART_SAVEOPERATE(34, "cart_saveoperate", " 购物车操作 ", false),
    /**
     * 订单列表
     */
    ORDER_LIST(35, "bill_list", "订单列表", false),
    /**
     * 添加订单
     */
    ORDER_ADD(36, "bill_save", " 添加订单 ", false),
    /**
     * 订单操作
     */
    ORDER_SAVEOPERATE(37, "bill_saveoperate", " 订单操作 ", false),
    /**
     * 订单详情
     */
    ORDER_GET(38, "bill_get", " 订单详情 ", false),
    /**
     * 收货地址列表
     */
    ADDRESS_LIST(39, "address_list", "收货地址列表", false),
    /**
     * 保存收货地址
     */
    ADDRESS_SAVE(40, "address_save", "添加收货地址", false),
    /**
     * 硬件注册保存
     */
    DEVICE_SAVE(41, "device_save", "硬件注册保存", false),
    /**
     * 保存坐标
     */
    POSITION_SAVE(42, "position_save", "保存坐标", false),
    /**
     * 意见反馈
     */
    ADVICE_ADD(43, "advice_add", "意见反馈", false),
    /**
     * 账户信息
     */
    ACCOUNT_GET(44, "account_get", "账户信息", false),
    /**
     * 充值记录
     */
    PAY_LIST(45, "pay_list", "充值记录", false),
    /**
     * 余额购买
     */
    FEEACCOUNT_REMOVE(46, "feeaccount_remove", "余额购买", false),
    /**
     * 粮票转赠
     */
    SCORE_SAVEOPERATOR(47, "score_saveoperator", "粮票转赠", false),
    /**
     * 粮票消费记录
     */
    SCORE_COST_LIST(48, "score_cost_list", "粮票消费记录", false),
    /**
     * 粮票获取记录
     */
    SCORE_GAIN_LIST(48, "score_gain_list", "粮票消费记录", false),
    /**
     * 支付宝保存
     */
    ALI_SAVE(49, "alipay_save", "支付宝保存", false),
    /**
     * 保存用户提现银行卡信息
     */
    BANK_SAVE(50, "bank_save", "保存用户提现银行卡信息", false),
    /**
     * 获取银行列表
     */
    BANK_LIST(51, "bank_list", "获取银行列表", false),
    /**
     * 用户增加提现申请
     */
    CASH_ADD(52, "cash_add", "用户增加提现申请", false),
    /**
     * 获取提现列表
     */
    CASH_LIST(53, "cash_list", "获取提现列表", false),
    /**
     * 获取支付宝交易签名串
     */
    ALIPAY(54, "OnlinePay/Alipay/alipaysign_get.php", "获取支付宝交易签名串", false),
    /**
     * 获取银联交易签名串
     */
    UNIONPAY(55, "OnlinePay/Unionpay/unionpay_get.php", "获取银联交易签名串", false),
    /**
     * 获取微信预支付交易会话标识
     */
    WEIXINPAY(56, "OnlinePay/Weixinpay/weixinpay_get.php", "获取微信预支付交易会话标识",
            false),
    /**
     * 走走商家地区列表
     */
    TRAVEL_ADDRESS_LIST(57, "travel_address_list", "走走商家地区列表", false),
    /**
     * 走走不可用日期列表
     */
    TRAVEL_DATE_LIST(58, "travel_date_list", "走走不可用日期列表", false),
    /**
     * 用户访问记录列表
     */
    ACCESS_HISTORY_LIST(59, "access_history_list", "用户访问记录列表", false),
    /**
     * 清空用户访问记录
     */
    ACCESS_HISTORY_CLEAR(60, "access_history_clear", "清空用户访问记录", false),
    /**
     * 获取售后列表
     */
    SALE_SUPPORT_LIST(61, "afterservice_bill_list", "获取售后列表", false),
    /**
     * 获取售后详情
     */
    SALE_SUPPORT_GET(62, "afterservice_bill_get", "获取售后详情", false),
    /**
     * 田家农货售后详情
     */
    FARMER_AFTERSERVICE_GET(62, "farmer_afterservice_get", " 田家农货售后详情", false),
    /**
     * 田家农货订单列表
     */
    FARMER_ORDER_LIST(63, "farmer_order_list", "田家农货订单列表", false),
    /**
     * 田家定制订单列表
     */
    FARMER_CUSTOM_ORDER_LIST(63, "farmer_custombill_list", "田家定制订单列表", false),
    /**
     * 田家土地定制列表
     */
    FARMER_ORDERLAND_LIST(64, "farmer_orderland_list", "田家土地定制列表", false),
    /**
     * 添加订单商品评论
     */
    GOODS_REPLY_ADD(65, "goods_reply_add", "添加订单商品评论", false),
    /**
     * 发送聊天消息
     */
    MSG_ADD(66, "msg_add", "发送聊天消息", false),
    /**
     * 获取聊天纪录
     */
    MSG_LIST(65, "msg_list", "获取聊天纪录", false),
    /**
     * 粮票购买
     */
    SCORE_REMOVE(66, "score_remove", "粮票购买", false),
    /**
     * 退货原因类别
     */
    RETURNTYPE_LIST(67, "returntype_list", "退货原因类别", false),
    /**
     * 家族列表
     */
    FAMILY_LIST(68, "family_list", "家族列表", false),
    /**
     * 真聊天消息推送
     */
    CHATPUSH_ADD(69, "chatpush_add", "真聊天消息推送", false),
    /**
     * 删除图片
     */
    IMG_DELOPERATE(70, "img_deloperate", "删除图片", false),
    /**
     * 获取商品属性列表
     */
    ATTRIBUTE_LIST(71, "travel_date", "获取商品属性列表", false),
    /**
     * 易家推荐列表
     */
    YIJIA_RECOMMEND(72, "yijia_recommend_list", "易家推荐列表", false),
    /**
     * 特产民族列表
     */
    NATION_LIST(73, "nation_list", " 特产民族列表", false),
    /**
     * 发票内容列表
     */
    BILLS_CONTENT_LIST(74, "bills_content_list", "发票内容列表", false),
    /**
     * 购物车商品数量
     */
    CART_COUNT(75, "cart_blogcount_get", " 购物车商品数量", false),
    /**
     * 保存发票
     */
    INVOICE_SAVE(76, "bill_bills_save", "保存发票", false),
    /**
     * 模块广告位列表
     */
    MODELAD_LIST(77, "modelad_list", "模块广告位列表", false),
    /**
     * 获取订单运费总和
     */
    BILL_EXPRESSFEE_GET(78, "bill_expressfee_get", "获取订单运费总和", false),
    /**
     * 金钱交易记录列表
     */
    TRADE_LIST(79, "trade_list", "金钱交易记录列表", false),
    /**
     * 评论删除
     */
    REPLY_REMOVE(80, "reply_remove", "评论删除", false),
    /**
     * 广告点击记录接口
     */
    ADVISIT_RECORD(81, "advisit_record", "广告点击记录", false),
    /**
     * 定制商品列表
     */
    CUSTOM_BLOG_LIST(70, "custom_blog_list", "定制商品列表", false),
    /**
     * 商品分类列表
     */
    BLOGTYPE_LIST(71, "blogtype_list", "商品分类列表", false),

    /**
     * 粮库分类下广告位列表
     */
    BLOG_TYPE_AD_LIST(71, "blogtypead_list", " 粮库分类下广告位列表", false),
    /**
     * 每日收益明细
     */
    REBAT_LIST(70, "rebat_list", "删除图片", false),
    /**
     * 实物商品规格详情
     */
    BLOG_SPECNAME_GET(71, "blog_specname_get", "实物商品规格详情", false),
    /**
     * 定制商品数量
     */
    CUSTOM_BLOG_COUNT(71, "custom_blog_count", "定制商品数量", false),
    /**
     * 定制商品详情
     */
    CUSTOM_BLOG_GET(70, "custom_blog_get", "定制商品详情", false),
    /**
     * 添加定制
     */
    CUSTOM_GOODS_ADD(71, "custom_goods_add", "添加定制", false),
    /**
     * 添加定制附加服务
     */
    CUSTOM_ADDITION_ADD(70, "custom_addition_add", "添加定制附加服务", false),
    /**
     * 通过规格获取商品详情
     */
    BLOG_GET_BY_SPEC(71, "blog_get_bysepc", "通过规格获取商品详情", false),
    /**
     * 田家农货问题订单
     */
    FARMER_AFTERSERVICE_LIST(71, "farmer_afterservice_list", "田家农货问题订单", false),
    /**
     * 新手指南列表
     */
    GUIDE_LIST(70, "guide_list", "新手指南列表", false),
    ABOUT_INDEX_LIST(71, "about_index_list", "首页相关内容接口", false),
    /**
     * 乡村和城市商家列表接口
     */
    CITY_MERCHANT_LIST(71, "city_country_merchant_list", "乡村和城市商家列表接口", false),
    /**
     * 乡村和城市商家详情接口
     */
    CITY_COUNTRY_MERCHANT_GET(72, "city_country_merchant_get", "乡村和城市商家详情接口", false),
    /**
     * 名优猜你喜欢接口
     */
    MINGYOU_GUESS_LIST(71, "mingyou_guess_list", "名优猜你喜欢接口", false),
    DYNAMIC_BLOG_LIST(74, "dynamic_blog_list", " 动态列表接口", false),
    FARMER_CUSTOMER_LIST(75, "farmer_customer_list", "农户的客户列表接口", false),
    FARMER_CUSTOMER_REMOVE(76, "farmer_customer_remove", "农户的客户删除接口", false),
    /**
     * 返利活动列表接口
     */
    RETURNSCORE_ACTIVITY_LIST(77, "returnscore_activity_list", "返利活动列表接口", false),
    RETURNSCORE_QUEUE_LIST(78, "returnscore_queue_list", "粮票充值返利列表接口", false),
    RETURNSCORE_GAIN(79, "returnscore_gain", "获取粮票充值返利接口", false),
    FINANCIAL_AUTH(80, "financial_auth", "财务信息变更接口", false),
    FARMER_LANDINFOR_GET(81, "farmer_landinfor_get", "农户土地信息接口", false),
    FARMERLAND_AUTHSAVE(82, "farmerland_authsave", "土地信息变更申请接口", false),
    REALNAME_AUTH(83, "realname_auth", "实名认证接口", false),
    BBS_BLOG_LIST(84, "bbs_blog_list", "社区文章列表接口", false),
    BBS_BLOG_REMOVE(84, "bbs_blog_remove", "社区文章删除接口", false),
    BBS_BLOG_LIST_SAME(85, "bbs_blog_list", "社区文章列表接口", false),
    YJQG_TYPE_LIST(86, "yjqg_type_list", "易家抢购分类列表接口", false),
    GIFTSCORE_BLOG_LIST(87, "giftscore_blog_list", "购物送粮票商品列表接口", false),
    BBS_BLOG_GET(88, "bbs_blog_get", "社区文章详情接口", false),
    RSS_LIST(89, "rss_list", "我的社区订阅列表接口", false),
    GIFT_SCORE_REMOVE(90, "gift_score_remove", "粮票打赏接口", false),
    SPECIAL_TYPE_LIST(91, "special_type_list", "特殊分类列表接口", false),
    RSS_SAVEOPERATOR(92, "rss_saveoperator", "社区订阅操作接口", false),
    SPIKE_HOURS_GET(93, "spike_hours_get", "限时抢购时刻表接口", false),
    XSQG_BLOG_LIST(94, "xsqg_blog_list", "限时抢购时刻表接口", false),
    NICKNAME_GET(95, "nickname_get", "通过账号获取昵称接口", false),
    THIRD_SAVE(96, "third_save", "第三方登录接口", false),
    NEW_NOTICE_COUNT(97, "new_notice_count", "获取未读通知数量接口", false),
    FARMER_GET(98, "farmer_get", "农户详情接口", false),
    CITY_COUNTRY_AD_LIST(99, "city_country_ad_list", "城市乡村热门套餐广告列表接口", false),
    DEFAULT_ADDRESS_SAVE(100, "default_address_save", "设置默认收货地址接口", false),
    ADDRESS_REMOVE(101, "address_remove", "删除收货地址接口", false),
    SCORE_CODE_GET(102, "score_code_get", "粮票兑换码详情接口", false),
    SCORE_EXCHANGE(103, "score_exchange", "兑换粮票接口", false),
    /**
     * 提现身份认证提交接口
     */
    CASH_AUTH_SAVE(102, "cash_auth_save", "提现身份认证提交接口", false),
    /**
     * 热门搜索列表接口
     */
    HOTWORD_LIST(102, "hotword_list", "热门搜索列表接口", false),
    /**
     * 快递查询接口
     */
    KUAI_QUERY_GET(102, "kuai_query_get", "快递查询接口", false),
    /**
     * 获得粮票分红用户列表接口
     */
    SCOREREBAT_CLIENT_LIST(103, "scorerebat_client_list", "获得粮票分红用户列表接口", false),
    /**
     * 余额参与粮票分红接口
     */
    FEEACCOUNT_2_SCORE(104, "feeaccount_2_score", "余额参与粮票分红接口", false),
    /**
     * 分销商品列表接口
     */
    FX_BLOG_LIST(105, "fx_blog_list", "分销商品列表接口", false),
    /**
     * 添加选购区商品到仓储区接口
     */
    FX_BLOG_ADD(106, "fx_blog_add", "添加选购区商品到仓储区接口", false),
    /**
     * 分销订单列表接口
     */
    FENXIAO_ORDER_LIST(107, "fenxiao_order_list", "分销订单列表接口", false),
    /**
     * 分销问题订单列表接口
     */
    FENXIAO_AFTERSERVICE_LIST(108, "fenxiao_afterservice_list", "分销问题订单列表接口", false),
    /**
     * 获取粮票授信最大额度接口
     */
    MAX_CREDIT_SCORE(108, "max_credit_score", "获取粮票授信最大额度接口", false),
    /**
     * 分销商品售后详情接口
     */
    FENXIAO_AFTERSERVICE_GET(109, "fenxiao_afterservice_get", "分销商品售后详情接口", false),
    /**
     * 激活额度接口
     */
    ACTIVE_CREDIT_SCORE(110, "active_credit_score", "激活额度接口", false),
    /**
     * 粮票授信资料详情接口
     */
    CREDIT_INFO_GET(111, "credit_info_get", "粮票授信资料详情接口", false),
    /**
     * 粮票授信激活资料保存接口
     */
    CREDIT_INFO_SAVE(111, "credit_info_save", "粮票授信激活资料保存接口", false),
    /**
     * 粮票授信激活其他资料保存接口
     */
    CREDIT_OTHERINFO_SAVE(112, "credit_otherinfo_save", "粮票授信激活其他资料保存接口", false),
    /**
     * 土地证书认证接口
     */
    LAND_AUTHSAVE(113, "land_authsave", "土地证书认证接口", false),
    /**
     * 还款方式列表接口
     */
    REPAYWAY_LIST(114, "repayway_list", "还款方式列表接口", false),
    /**
     * 还款记录接口
     */
    REPAY_RECORD_LIST(115, "repay_record_list", "还款记录接口", false),
    /**
     * 还款方式保存接口
     */
    CREDITS_REPAYWAY_SAVE(116, "credits_repayway_save", "还款方式保存接口", false),
    /**
     * 还款相关信息接口
     */
    REPAY_INFO(117, "repay_info", "还款相关信息接口", false),
    /**
     * 按月还的期数接口
     */
    MONTH_REPAY_MONTHS(118, "month_repay_months", "按月还的期数接口", false),
    /**
     * 每月还款额接口
     */
    PERMONTH_REPAY_SCORE(119, "permonth_repay_score", "每月还款额接口", false),
    /**
     * 每日还款额接口
     */
    PERDAY_REPAY_SCORE(120, "perday_repay_score", "每月还款额接口", false),
    /**
     * 按月还款接口
     */
    REPAY_CREDIT_SCORE(121, "repay_credit_score", " 按月还款接口", false),
    /**
     * 一次性还款接口
     */
    REPAY_ALL_SCORE(122, "repay_all_score", "一次性还款接口", false),

    /***********************************Torres area****************************************/
    /**
     * 服务站列表接口
     */
    SERVICE_STATION_LIST(76, "serivce_station_list", " 服务站列表接口", false),

    /**
     * 服务站商家详情
     */
    SERVICE_STATION_GET(77, "service_station_get", "  服务站商家详情", false),
    /**
     * 三农供应列表
     */
    SANNONG_SUPPLY_LIST(78, "sannongsupply_list", "三农供应列表", false),

    /***********************************Torres area****************************************/
//	/**
//	 * 获取商品属性列表
//	 */
//	ATTRIBUTE_LIST(71, "travel_date", "获取商品属性列表", false),
//	/**
//	 * 删除图片
//	 */
//	IMG_DELOPERATE(70, "img_deloperate", "删除图片", false),
//	/**
//	 * 获取商品属性列表
//	 */
//	ATTRIBUTE_LIST(71, "travel_date", "获取商品属性列表", false),
//	/**
//	 * 获取商品属性列表
//	 */
//	ATTRIBUTE_LIST(71, "travel_date", "获取商品属性列表", false),
//	/**
//	 * 删除图片
//	 */
//	IMG_DELOPERATE(70, "img_deloperate", "删除图片", false),
//	/**
//	 * 获取商品属性列表
//	 */
//	ATTRIBUTE_LIST(71, "travel_date", "获取商品属性列表", false),
    ;

    private int id;// 对应NetTask的id
    private String urlPath;// 请求地址
    private String description;// 请求描述
    private boolean isRootPath;// 是否是根路径

    private BaseHttpInformation(int id, String urlPath, String description,
                                boolean isRootPath) {
        this.id = id;
        this.urlPath = urlPath;
        this.description = description;
        this.isRootPath = isRootPath;
    }

    @Override
    public int getId() {
        return id;
    }

    @Override
    public String getUrlPath() {
        if (isRootPath)
            return urlPath;

        String path = SYS_ROOT.urlPath + urlPath;

        if (this.equals(INIT))
            return path;

        BaseApplication application = BaseApplication.getInstance();
        SysInitInfo info = application.getSysInitInfo();
        path = info.getSys_web_service() + urlPath;

        if (this.equals(ALIPAY))
            path = info.getSys_plugins() + urlPath;

        if (this.equals(UNIONPAY))
            path = info.getSys_plugins() + urlPath;

        if (this.equals(WEIXINPAY))
            path = info.getSys_plugins() + urlPath;

        return path;
    }

    @Override
    public String getDescription() {
        return description;
    }

    @Override
    public boolean isRootPath() {
        return isRootPath;
    }

}
